Integrating the Internet (and other networks using internet protocols and techniques such as an Intranet or Extranet) into home and business life has increased dramatically in the past decade. Since the widespread access and use of Internet browsers, the Internet has steadily grown into areas of communication, commerce, and research. New uses for the low cost and wide access of the Internet are replacing or enhancing traditional lifestyle functions, such as shopping, communicating, and audio and video entertainment.
The widespread adoption of the protocol for file transmission over the Internet, Transmission Control Protocol/Internet Protocol (TCP/IP) and the related UDP/IP, is a major factor in the rapid growth of the Internet. The IP protocol controls the routing of data and the TCP or UDP protocol controls the transfer of data. TCP/UDP/IP provides a common means of interconnection through packet transfer devices known as gateways, bridges, routers and switches. These devices are specialized Internet working computers that connect two or more networks and route packets of data between them.
Each direct connection to the Internet requires a unique numerical address. Every device or user that connects directly to the Internet must obtain an IP address from the Network Information Center (NIC). IP addresses only specify a connection to the Internet, not what type of connection or the type of hardware connected.
Interacting with the TCP/UDP/IP and PPP network software is the HTTP server. The HTTP server is a software program with which a Web browser communicates to access information and send commands, files, and media streams of digitized audio and video to computers and specialized network attached appliances (wired or wireless) via the Internet or similar IP network. The target computers or appliances are collectively referred to as clients. The HTTP server responds to external requests by transmitting the appropriate Web pages of information and hypertext connections or in the case of audio or video by transmitting the appropriate media stream. The HTTP server also responds to external requests to perform a specific action associated with a button or control on the target appliance.
In response to external requests the HTTP server transmits Hypertext Markup Language (HTML) pages describe what the Web browser will display on the screen at the remote terminal, including buttons, text, images, animated real time streams of images, sounds, and so forth. HTML pages may be directly encoded in software.
With respect to handling requests, commands, and information including data transfers relative to end-user appliances, certain hardware and software is contained in each appliance. For receiving information, appliances may connect directly to the Internet or connect to a local server with an Internet connection, or Web server. A TCP/UDP/IP stack acts on a received request or command by performing a number of functions. A received command or packet of file data has an IP address associated with it. The TCP is responsible for controlling the structure and flow of the received information and providing extensive error checking and flow control to ensure the successful delivery of data where as UDP packets delivery is not assured. The transport layer of TCP/UDP serves as an interface between network applications and the network, and it provides a method for addressing network data to particular applications. In the TCP/UDP/IP system, applications can address data using port numbers. A port is a predefined internal address that serves as a pathway from the application to the transport layer or from the transport layer to the application. A port address combined with an IP address creates a socket in a computer system. The TCP/UDP/IP stack is associated with a number of sockets that it communicates with or links to, with the selected socket being dependent upon the content of the received information.
A Web server fills one of the socket locations available to the TCP/UDP/IP stack on a client PC or appliance. A Web server operates in HTTP format in response to requests from a user's PC machine and reading to and from electronic appliances. The Web server gains or posts information according to received requests or data. The server controls the connections of each appliance or computer to the Internet. In addition to communication with the data memory, the Web server is operatively linked to a CGI-bin. The CGI-bin acts as a link or a gate to a number of typically short executable programs stored in program memory. JAVA applications or appletts are used in a fashion similar to CGI-bin to allow client applications that are more complex than the display of HTML encoded WEB pages.
Audio and video streams must be digitized prior to transmission over IP networks and the digitized information is often compressed in order to conserve network bandwidth and reduce transmission time. Technology commonly referred to as audio or video “players” are installed as software on the client computers and appliances. These players are responsible for decompression and decoding the media streams and for managing the playout of the media using a combination of display devices and audio devices such as video screens, televisions, speakers and headphones. Players may be incorporated (commonly known as a “plug-in”) within browsers or function as specialized browsers interacting directly with servers. Thus, when a browser or player requests an audio or video stream from a server, the server transmits the stream and the browser/player operating within the client device decodes and displays and/or plays the audible media stream.